package com.md.api;

import com.md.model.page.PageResponse;
import com.md.model.system.CommonResult;
import com.md.request.ModuleRequest;
import com.md.request.QueryModuleRequest;
import com.md.response.ModuleResponse;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;

/**
 * @author 刘骄阳
 * 2024-07-24 23:49
 */
@Api("模块信息")
public interface ModuleApi {
  String PATH_PREFIX = "/api/module";

  /**
   * 新增模块信息
   *
   * @param request 请求实体
   * @return 操作结果
   */
  @PostMapping(PATH_PREFIX + "/create")
  @ApiOperation("新增模块信息")
  CommonResult<ModuleResponse> create(@RequestBody ModuleRequest request);

  /**
   * 更新应用信息
   *
   * @param request 请求实体
   * @return 操作结果
   */
  @PostMapping(PATH_PREFIX + "/update")
  @ApiOperation("更新模块信息")
  CommonResult<ModuleResponse> update(@RequestBody ModuleRequest request);


  /**
   * 查询模块信息
   *
   * @param request 请求实体
   * @return 操作结果
   */
  @PostMapping(PATH_PREFIX + "/query")
  @ApiOperation("查询模块信息")
  CommonResult<ModuleResponse> query(@RequestBody QueryModuleRequest request);

  /**
   * 分页查询模块信息
   *
   * @param request 请求实体
   * @return 操作结果
   */
  @PostMapping(PATH_PREFIX + "/query/list")
  @ApiOperation("分页查询模块信息")
  CommonResult<PageResponse<ModuleResponse>> queryList(@RequestBody QueryModuleRequest request);


}
